#ifndef _AEIMPEXP_H_
#define _AEIMPEXP_H_

#if ( defined( _WIN32 ) )
	#ifdef AE_STATICLIB
		#define AE_COREDLLIMPEXP       __declspec()
		//#define AE_DLLIMPEXP_CLASS __declspec()
		//#define AE_DLLIMPEXP_TEMPLATE
	#else
		// Only defined in the vBase project to export functions
		#ifdef AE_COREDLLEXPORTS
			#define AE_COREDLLIMPEXP       __declspec( dllexport )
			//#define AE_DLLIMPEXP_CLASS __declspec( dllexport )
			//#define AE_DLLIMPEXP_TEMPLATE
		#else
			#define AE_COREDLLIMPEXP       __declspec( dllimport )
			//#define AE_DLLIMPEXP_CLASS __declspec( dllimport )
			//#define AE_DLLIMPEXP_TEMPLATE extern
		#endif
	#endif
#elif defined ( AE_PLATFORM_ANDROID )

	#ifdef AE_STATICLIB
		#define AE_COREDLLIMPEXP
		#define AE_DLLIMPEXP_CLASS
		#define AE_DLLIMPEXP_TEMPLATE
	#endif

	// Only defined in the vBase project to export functions
	#ifdef AE_COREXPORTS
		//#define AE_COREDLLIMPEXP       __attribute__ ((dllexport))
		#define AE_COREDLLIMPEXP
		#define AE_DLLIMPEXP_CLASS __attribute__ ((dllexport))
		#define AE_DLLIMPEXP_TEMPLATE
	#endif

	// if not defined (or in a LIB, not exported from a dll) 
	// define it as import from a DLL (this is the case of client project which uses the dll)
	#ifndef AE_DLLIMPEXP_CLASS
		//#define AE_COREDLLIMPEXP       __declspec( dllimport )
		#define AE_COREDLLIMPEXP
		#define AE_DLLIMPEXP_CLASS __declspec( dllimport )
		#define AE_DLLIMPEXP_TEMPLATE extern
	#endif

#elif defined (AE_MACOSX86)

#ifdef AE_STATICLIB
#define AE_COREDLLIMPEXP
#define AE_DLLIMPEXP_CLASS
#define AE_DLLIMPEXP_TEMPLATE
#endif

// Only defined in the vBase project to export functions
#ifdef AE_COREXPORTS
#define AE_COREDLLIMPEXP       __attribute__ ((dllexport))
#define AE_DLLIMPEXP_CLASS __attribute__ ((dllexport))
#define AE_DLLIMPEXP_TEMPLATE
#endif

// if not defined (or in a LIB, not exported from a dll)
// define it as import from a DLL (this is the case of client project which uses the dll)
#ifndef AE_DLLIMPEXP_CLASS
#define AE_COREDLLIMPEXP       __declspec( dllimport )
#define AE_DLLIMPEXP_CLASS __declspec( dllimport )
#define AE_DLLIMPEXP_TEMPLATE extern
#endif

#endif


#endif
// _AEIMPEXP_H_
